.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
.TH IBV_SRQ_PINGPONG 1 "August 30, 2005" "libibverbs" "USER COMMANDS"

.SH NAME
ibv_srq_pingpong \- simple InfiniBand shared receive queue test

.SH SYNOPSIS
.B ibv_srq_pingpong
[\-p port] [\-d device] [\-i ib port] [\-s size] [\-m size]
[\-q num QPs] [\-r rx depth] [\-n iters] [\-l sl] [\-e]
[\-g gid index] \fBHOSTNAME\fR

.B ibv_srq_pingpong
[\-p port] [\-d device] [\-i ib port] [\-s size] [\-m size]
[\-q num QPs] [\-r rx depth] [\-n iters] [\-l sl] [\-e]
[\-g gid index]

.SH DESCRIPTION
.PP
Run a simple ping-pong test over InfiniBand via the reliable
connected (RC) transport, using multiple queue pairs (QPs) and a
single shared receive queue (SRQ).

.SH OPTIONS

.PP
.TP
\fB\-p\fR, \fB\-\-port\fR=\fIPORT\fR
use TCP port \fIPORT\fR for initial synchronization (default 18515)
.TP
\fB\-d\fR, \fB\-\-ib\-dev\fR=\fIDEVICE\fR
use IB device \fIDEVICE\fR (default first device found)
.TP
\fB\-i\fR, \fB\-\-ib\-port\fR=\fIPORT\fR
use IB port \fIPORT\fR (default port 1)
.TP
\fB\-s\fR, \fB\-\-size\fR=\fISIZE\fR
ping-pong messages of size \fISIZE\fR (default 4096)
.TP
\fB\-m\fR, \fB\-\-mtu\fR=\fISIZE\fR
path MTU \fISIZE\fR (default 1024)
.TP
\fB\-q\fR, \fB\-\-num\-qp\fR=\fINUM\fR
use \fINUM\fR queue pairs for test (default 16)
.TP
\fB\-r\fR, \fB\-\-rx\-depth\fR=\fIDEPTH\fR
post \fIDEPTH\fR receives at a time (default 1000)
.TP
\fB\-n\fR, \fB\-\-iters\fR=\fIITERS\fR
perform \fIITERS\fR message exchanges (default 1000)
.TP
\fB\-l\fR, \fB\-\-sl\fR=\fISL\fR
use \fISL\fR as the service level value of the QPs (default 0)
.TP
\fB\-e\fR, \fB\-\-events\fR
sleep while waiting for work completion events (default is to poll for
completions)
.TP
\fB\-g\fR, \fB\-\-gid-idx\fR=\fIGIDINDEX\fR
local port \fIGIDINDEX\fR
.TP
\fB\-c\fR, \fB\-\-chk\fR
validate received buffer

.SH SEE ALSO
.BR ibv_rc_pingpong (1),
.BR ibv_uc_pingpong (1),
.BR ibv_ud_pingpong (1),
.BR ibv_xsrq_pingpong (1)

.SH AUTHORS
.TP
Roland Dreier
.RI < rolandd@cisco.com >

.SH BUGS
The network synchronization between client and server instances is
weak, and does not prevent incompatible options from being used on the
two instances.  The method used for retrieving work completions is not
strictly correct, and race conditions may cause failures on some
systems.
